Formal Type Soundness for Cyclone’s Region System
نویسندگان
چکیده
Cyclone is a polymorphic, type-safe programming language derived from C. The primarydesign goals of Cyclone are to let programmers control data representations and memory man-agement without sacrificing type-safety. In this paper, we focus on the region-based memorymanagement of Cyclone and its static typing discipline. The design incorporates several advance-ments, including support for region subtyping and a coherent integration with stack allocationand a garbage collector. To support separate compilation, Cyclone requires programmers towrite some explicit region annotations, but uses a combination of default annotations, localtype inference, and a novel treatment of region effects to reduce this burden. As a result, weintegrate C idioms in a region-based framework. In our experience, porting legacy C to Cyclonehas required altering about 8% of the code; of the changes, only 6% (of the 8%) were regionannotations.This technical report is really two documents in one: The first part is a paper submittedfor publication in November, 2001. The second part is the full formal language and type-safetyproof mentioned briefly in the first part. If you have already read a version of, “Region-BasedMemory Management in Cyclone”, then you should proceed directly to Section 9.
منابع مشابه
A Formal Soundness Proof of Region-Based Memory Management for Object-Oriented Paradigm
Region-based memory management has been proposed as a viable alternative to garbage collection for real-time applications and embedded software. In our previous work we have developed a region type inference algorithm that provides an automatic compile-time region-based memory management for object-oriented paradigm. In this work we present a formal soundness proof of the region type system tha...
متن کاملA Syntactic Approach to Type Soundness
We present a new approach to proving type soundness for Hindley/Milner-style polymorphic type systems. The keys to our approach are (1) an adaptation of subject reduction theorems from combinatory logic to programming languages, and (2) the use of rewriting techniques for the speciication of the language semantics. The approach easily extends from polymorphic functional languages to imperative ...
متن کاملProving Java Type Soundness
This technical report describes a machine checked proof of the type soundness of a subset of the Java language called JavaS . A formal semantics for this subset has been developed by Drossopoulou and Eisenbach, and they have sketched an outline of the type soundness proof. The formulation developed here complements their written semantics and proof by correcting and clarifying signi cant detail...
متن کاملA Theory of Featherweight Java in Isabelle/HOL
We formalize the type system, small-step operational semantics, and type soundness proof for Featherweight Java [1], a simple object calculus, in Isabelle/HOL [2].
متن کاملA Dependent Security Type System for Concurrent Imperative Programs
The paper “Compositional Verification and Refinement of Concurrent Value-Dependent Noninterference” by Murray et. al. [MSPR16] presents a dependent security type system for compositionally verifying a value-dependent noninterference property, defined in [Mur15], for concurrent programs. This development formalises that security definition, the type system and its soundness proof, and demonstrat...
متن کامل